#ifndef WEATHERWINDOW_H
#define WEATHERWINDOW_H

#include <QWidget>
#include <QLabel>
#include <QLineEdit>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
using namespace std;

namespace Ui {
    class WeatherWindow;
}

class WeatherWindow : public QWidget
{
    Q_OBJECT

public:
    explicit WeatherWindow(QWidget *parent = nullptr);
    ~WeatherWindow();

    void showTime(); // 展示时间函数

    void initVector(); // 初始化容器函数

    void getWeather(qulonglong citycode); // 获取天气数据函数

    void setupSearch(QLineEdit *input);

private slots:
    void on_button_back_clicked(); // 返回主页面按钮槽函数

    void updateTime(); // 更新时间槽函数

    void updateWeather(QNetworkReply *reply); // 更新天气槽函数

    void onTextChanged(const QString &text); // 输入框文本变化槽函数

signals:
    void backSignal();

private:
    Ui::WeatherWindow *ui;

    vector<QLabel*> *dates; // 日期标签容器
    vector<QLabel*> *weeks; // 周标签容器
    vector<QLabel*> *icons; // 天气图标标签容器
    vector<QLabel*> *weathers; // 天气标签容器
    vector<QLabel*> *temperatures; // 温度标签容器
};

#endif // WEATHERWINDOW_H
